﻿using T4UtilityBelt.Writers;

namespace T4UtilityBelt.UxDesigns.Controls.Renderers
{
    public interface IContentElementRenderer<in TControl, TRenderer> 
        where TControl : ContentElement<TControl, TRenderer>
        where TRenderer : class, IContentElementRenderer<TControl, TRenderer>
    {
        void RenderUiXmlBegin(TControl control, CodeWriter writer);
        void RenderUiXml(TControl control, CodeWriter writer);
        void RenderUiXmlEnd(TControl control, CodeWriter writer);
        void RenderUiCode(TControl control, CodeWriter writer);
    }
}
